﻿namespace Vibstudio.NetConfigurator.UI.Common
{
    #region Namespaces

    using Vibstudio.NetConfigurator.UI.Model;
    using Vibstudio.NetConfigurator.UI.Views;

    using HeaderView = Vibstudio.NetConfigurator.UI.Views.HeaderView;

    #endregion

    public class ViewFactory : IViewFactory
    {
        #region Public Methods and Operators

        public IShellView Header()
        {
            return new HeaderView();
        }

        public IChildView Home()
        {
            return new HomeView();
        }

        public IChildView ResultComposition(ResultConfigurationCollection result)
        {
            return new ResultCompositionView(result);
        }

        public IChildView ResultConfiguration(ResultConfigurationCollection result, string rootPath)
        {
            return new ResultConfigurationView(result, rootPath);
        }

        public IChildView ResultValidationUrl(ResultValidationUrlCollection result)
        {
            return new ResultValidationUrlView(result);
        }

        public IChildView ResultValidationFile(ResultValidationFileCollection result)
        {
            return new ResultValidationFileView(result);
        }

        public IShellView Toolbar()
        {
            return new ToolbarView();
        }

        #endregion
    }
}